![เข้าใจโครงสร้าง Classmethod Members ยกระดับความปลอดภัย AWS Account](https://devio2023-media.developers.io/wp-content/uploads/2023/09/Slide5.png)
เข้าใจโครงสร้าง Classmethod Members ยกระดับความปลอดภัย AWS Account
สวัสดีครับ เบนจ์ ครับ เดือนกันยายนก็ผ่านมาได้ครึ่งเดือนแล้ว แถมช่วงนี้ฝนตกบ่อยอีกต่างหาก เพื่อน ๆ อย่าลืมดูแลสุขภาพกันด้วยนะครับ
ในบล็อกนี้แปลและอ้างอิงมาจาก 『クラスメソッドメンバーズのメンバーズ組織・メンバーズプロジェクト・AWSアカウントの関係性についてまとめました。』หรือ “สรุปความสัมพันธ์ระหว่าง Members Organization, Members Project และ AWS Account ของ Classmethod Members” ซึ่งเขียนโดยคุณ サイトウ จาก Classmethod, Inc. ครับ หากเพื่อน ๆ คนไหนสนใจอ่านเนื้อหาต้นฉบับ (ภาษาญี่ปุ่น) สามารถอ่านได้ที่ลิ้งก์ด้านล่างครับ
และเนื่องจากบทความนี้เขียนเมื่อวันที่ 22 เมษยน 2022 ผมจึงปรับเนื้อหาให้เข้าใจง่ายขึ้นและอัปเดตข้อมูลให้ตรงกับปัจจุบัน ซึ่งทำให้มีความแตกต่างจากต้นฉบับในบางจุด แต่เนื้อหาหลักอยู่ครบแน่นอนครับ
เนื้อหาในบล็อกนี้ เราจะมาทำความรู้จักกับโครงสร้างต่าง ๆ ภายในของ Classmethod Members ให้ละเอียดยิ่งขึ้นครับ และหัวข้อหลักที่เราจะพูดถึงก็คือ AWS Account, Members Project และ Members Organization เหมือนเคยครับ! เราจะมีภาพประกอบเพื่อเพิ่มความเข้าใจให้กับเพื่อน ๆ ผู้อ่านทุกคนด้วยเช่นกัน
Classmethod Members คืออะไร?
Classmethod Members คือบริการสนับสนุนการใช้งาน AWS ที่ Classmethod เป็นผู้ให้บริการกับสมาชิกนั่นเองครับ เรามอบสิทธิประโยชน์ต่างๆ มากมายให้กับบริษัทที่สมัครเข้าร่วม Classmethod Members เช่น บริการตัวแทนเรียกเก็บเงิน และการสนับสนุนทางเทคนิค เป็นต้น ที่สำคัญเลยคือ ไม่มีค่าธรรมเนียมการใช้งานและค่าแรกเข้าอีกต่างหาก! เท่านั้นยังไม่พอครับ สมาชิกที่เข้าร่วมยังได้รับส่วนลดการใช้งาน AWS ไปเลย 3% !
(ไอ้เราก็มีสิทธิ์เยอะซะด้วย ทีนี้ลูกค้าก็ว้าวุ่นเลย แง)
และถ้าเพื่อน ๆ คนอยากอ่านข้อมูลเพิ่มเติมสามารถอ่านได้จากลิงก์ด้านล่างนี้เลยครับ
โครงสร้าง Classmethod Members
Classsmethod Members มีโครงสร้างแบบลำดับชั้นครับ ทั้งนี้ เพื่อให้สมาชิกสามารถจัดการ AWS Account, ค่าบริการ และอื่น ๆ ได้ง่ายขึ้น ซึ่งโครงสร้างโดยรวมมีส่วนประกอบตามด้านล่างนี้เลยครับ
และใช่ครับ เราจะมาทำความรู้จักกันครับว่าแต่ละส่วนคืออะไร และมีคุณลักษณะด้านใด แต่เนื่องจากการอธิบายจากข้างในออกข้างนอกจะเข้าใจง่ายกว่า ดังนั้น ผมขอแนะนำตามลำดับโดยเริ่มจาก AWS Account → Memebers Project → Members Organization ครับ
1.AWS Account
AWS Account ในที่นี้หมายถึง แอ็กเคานต์ AWS ที่สมัครผ่านหรือย้ายมายัง Classmethod Members ครับ ซึ่งแอ็กเคานต์เหล่านี้จะได้รับการดูแลและจัดการอย่างปลอดภัยโดยทีมงานของ Classmethod นั่นเองครับ
และถ้าเพื่อน ๆ สมาชิกต้องการสร้างแอ็กเคานต์ใหม่ เพียงแค่แจ้งให้ Classmethod ทราบ ทีมงานที่ดูแล Classmethod Members ก็จะสร้างแอ็กเคานต์ใหม่ให้เพื่อน ๆ ครับ
สิ่งที่เป็นจุดเด่นเลยคือ AWS Account ที่สร้างภายใน Classmethod Members จะได้รับการตั้งค่าให้สมาชิกสามารถติดตามหลักฐานหรือต้นตอของปัญหาได้ในกรณีที่เกิดอุบัติเหตุหรือมีการใช้งานที่ไม่ได้รับอนุญาต (มีผู้พยายามบุกรุกแอ็กเคานต์นั่นเองครับ)
ถ้าหากเราไม่มีหลักฐาน มันคงเป็นไปไม่ได้ใช่ไหมครับที่จะรู้ว่าเกิดอะไรขึ้น ที่ไหน เมื่อไรกับแอ็กเคานต์ของเรา และคงเป็นเรื่องยากที่จะเตรียมแผนป้องกันสำหรับความเสียหายที่จะตามมาในครั้งที่สอง ดังนั้นนี่คือความปลอดภัยที่ Classmethod มอบให้กับเพื่อน ๆ สมาชิกนั่นเองครับ
โดยปกติแล้ว ผู้ใช้แอ็กเคานต์ AWS ต้องดำเนินการด้วยตนเองใช่ไหมครับ แต่หากเพื่อน ๆ เป็นสมาชิก Classmethod Members เพื่อน ๆ สามารถวางใจได้เลยครับเพราะว่าแอ็กเคานต์ของเพื่อน ๆ จะได้รับการดูแลโดยผู้เชี่ยวชาญด้านการจัดการ AWS Account ของ Classmethod อย่างดีเลยล่ะครับ
พูดคุยเกี่ยวกับ Root Account
ใน AWS Account จะมีแอ็กเคานต์ที่เรียกว่า Root Account ซึ่งมีสิทธิอำนาจสูงสุดในการดูแลจัดการบริการของ AWS ทั้งหมด และไม่มีแอ็กเคานต์ไหนมีอำนาสูงไปกว่า Root Account ครับ
และถ้าเราไม่รักษา Root Account ให้ปลอดภัย และเกิดถูกขโมยไปล่ะก็ ข้อมูลต่าง ๆ ที่อยู่ใน AWS Account จะกลายเป็นตัวประกันทันทีเลยล่ะครับ ซึ่งนั่นก็เปิดโอกาสให้ผู้ขโมยขู่กรรโชกทรัพย์เราได้ด้วยเช่นกัน โดยส่วนใหญ่แล้วผู้ร้ายที่ขโมย Root Account ของผู้อื่นมักจะนำ AWS Account ของผู้เคราะห์ร้ายมาใช้เป็นเซิฟเวอร์สำหรับขุดเหมืองคริปโตเพื่อหาเงินเข้ากระเป๋าตัวเองแบบผิดกฎหมายครับ
ซึ่งเจ้าเซิร์ฟเวอร์สำหรับขุดเหมืองนั้นมีสเปกสูงมาก ถึงต่อให้เซิร์ฟเวอร์นี้อยู่ใน AWS ก็ตามที แต่ราคาต่อหน่วยก็สูงไม่แพ้กันเลยล่ะครับ นั่นเท่ากับว่าถ้าถูกขโมย Root Account ไป ผู้ร้ายจะใช้แอ็กเคานต์ของเราสร้างเซิร์ฟเวอร์ขุดเหมืองแบบฟรี ๆ ส่วนเราต้องมาจ่ายค่าใช้บริการ (อย่างมหาศาล) ที่ผู้ร้ายก่อขึ้นนั่นเองครับ (ปัญหาใหญ่เลยครับทีนี้)
ดังนั้น เพื่อป้องกันเหตุการณ์เขย่าขวัญข้างต้น การจัดการ Root Account ใน AWS Account จึงต้องทำอย่างเข้มงวดและรัดกุม ซึ่งที่ Classmethod เอง เราก็มีการจัดการและอารักขา Root Account ของสมาชิกที่เข้าร่วม Classmethod Members อย่างเข้มงวด รัดกุม และปลอดภัยตามวิธีการด้านล่างนี้เลยครับ
Root Account ID・Password
- แจ้งเฉพาะพนักงานที่เกี่ยวข้องให้ทราบเท่านั้น
- แม้แต่ใน Classmethod เองก็ไม่รู้ว่าใครถือข้อมูล Root Account ของสมาชิกอยู่
- ไม่รวมข้อมูลไว้ที่พนักงานคนเดียว และถ้าไม่นำข้อมูลจากคนอื่นมารวมไว้ด้วยกันก็ไม่สามารถรับรู้ข้อมูลได้ (ว่าง่าย ๆ ก็คือกระจายความเสี่ยงเพื่อเพิ่มความปลอดภัยให้กับ Root Account ของสมาชิกนั่นเองครับ)
Multi-Factor Authentication (MFA) for Root Account: การยืนยันตัวตนโดยใช้หลายปัจจัยสำหรับ Root Account
ขอเรียกย่อ ๆ ว่า MFA นะครับ
- MFA หมายถึงการเพิ่มปัจจัยเพื่อยืนยันตัวตน เช่น รหัสผ่านแบบครั้งเดียวบนอุปกรณ์(อาทิ PC) นอกเหนือจาก ID และรหัสผ่านเมื่อเข้าสู่ระบบ
- MFA ยังได้ถูกติดตั้งให้กับ Root Account ที่อยู่ในการอารักขาของ Classmethod Members ด้วยเช่นกันครับ
- แม้แต่ภายใน Classmethod ก็ไม่รู้ว่าพนักงานคนไหนมีอุปกรณ์สำหรับ MFA
เรียกได้ว่า นอกจากกับสิทธิประโยชน์ต่างๆ เช่น ส่วนลดค่าธรรมเนียมการใช้งานที่ตรวจสอบได้ด้วยตัวผู้ใช้งานเอง และการสนับสนุนทางเทคนิคแล้ว สิ่งที่น่าสนใจอย่างหนึ่งของ Classmethod Members คือความปลอดภัย รัดกุม และเข้มงวดในการอารักขา Root Account ของสมาชิกนั่นเองครับ
การจัดการข้อมูลที่ทุกอย่างรวมศูนย์ไว้ที่เดียวหรือคนใดคนหนึ่งอาจกลายเป็นความเสี่ยงครั้งใหญ่ได้ ถ้าเกิดเหตุการณ์ไม่คาดฝันขึ้นนะครับ!
2. Members Project
Members Project คือกลุ่มขนาดกลางที่มี AWS Account อยู่หลายแอ็กเคานต์นั่นเองครับ โดยเพื่อน ๆ สามารถดูภาพด้านล่างได้เพื่อเพิ่มความเข้าใจครับ
เราจะเห็นได้นะครับว่าแต่ละ Project ก็จะมีจำนวน AWS Account แตกต่างกันไป และ Classmethod Members เองก็จะออกใบแจ้งหนี้ให้แต่ละ Project ครับ อธิบายแต่หลักการอย่างเดียวอาจจะฟังดูยาก เราไปดูตัวอย่างกันดีกว่าครับ เช่น
ใน Members Project A (ด้านบน) มี AWS Account อยู่ด้วยกัน 3 แอ็กเคานต์ และ (อย่างที่บอกไปข้างต้นครับ) 1 Project ก็จะมีใบแจ้งหนี้เพียงใบเดียวเท่านั้น ดังนั้นรายละเอียดในใบแจ้งนี้ของ Project A ก็คือค่าใช้จ่ายของทั้ง 3 แอ็กเคานต์รวมกันนั่นเองครับ (แน่นอน Project B, C ก็จะคิดอย่างละ 2 แอ็กเคานต์ ส่วน D ก็จะคิดรวม 5 แอ็กเคานต์ไปเลยครับ)
โดยสรุปแล้ว จำนวนเงินที่เรียกเก็บจึงเท่ากับจำนวนค่าใช้จ่ายรวมของ AWS Account ในแต่ละ Project นั่นเองครับ
เหตุผลหลัก ๆ ที่ต้องลงทะเบียน Members Project แยกต่างหาก
- บริหารจัดการผลประโยชน์ของการใช้งานในแต่ละแผนก
- บริหารจัดการต้นทุนของแต่ละระบบ
- แยกส่วนงานของการพัฒนาและผลิตออกจากกัน
ถ้าสรุปแบบโดยรวมก็คือเพิ่มความชัดเจนและลดความซับซ้อนของแต่ละระบบนั่นเองครับ
ดังนั้น ข้อได้เปรียบของการเป็นสมาชิก Classmethod Members คือเพื่อน ๆ สามารถบริหารจัดการต้นทุน AWS Account ได้หลายแอ็กเคานต์ในคราวเดียว โดยที่ไม่ต้องวุ่นวายกับปริมาณใบแจ้งหนี้ที่ออกให้แต่ละแอ็กเคานต์ครับ (สมมติว่า มี 10 แอ็กเคานต์ เราก็ต้องดูใบแจ้งหนี้ 10 ใบเลยนะครับ ปวดหัวแย่เลย)
แต่ถ้าถามว่า “สามารถใช้แค่ 1 แอ็กเคานต์ต่อ 1 Project ได้ไหม?” คำตอบคือ ได้ครับ แต่ถ้าเราสร้าง Members Project มากเกินไป จำนวนใบแจ้งหนี้จะเพิ่มขึ้นและภาระการจัดการอาจเพิ่มขึ้นด้วยเช่นกัน ดังนั้นอย่าลืมพิจารณาวิธีการสร้าง Members Project ในมุมของการดำเนินงานและการจัดการต้นทุนด้วยนะครับ
3.Members Organization
Members Organization คือกลุ่มขนาดใหญ่ที่จัดการ Members Project หลายโปรเจ็คต์อยู่นั่นเองครับ โดย 1 บริษัท สามารถสร้าง Members Organization ได้มากกว่า 1 กลุ่ม ซึ่ง Organization นี้จะมีหน้าตาตามรูปด้านล่างนี้เลยครับ
สำหรับการทำงานของ Organization ผู้ใช้งานในแต่ละ Organization จะไม่สามารถเข้าถึงข้อมูลของ Organization อื่นได้นอกจากของตัวเองครับ ซึ่งถ้าเราดูจากภาพด้านบน ผมสมมติให้เราอยู่ Organization A เพื่อนอยู่ Organization B เราจะไม่สามารถเข้าไปดูข้อมูล Members Project และ AWS Account ของ Organization B ได้เลยครับ ทั้งนี้ก็เพื่อความปลอดภัยของแต่ละโปรเจ็คต์นั่นเอง
ซึ่งจะเหมาะกับตัวอย่างในลักษณะต่อไปนี้ครับ เช่น
- ธุรกิจ SaaS ที่ต้องการแยก Organization สำหรับ End User แต่ละรายออกจากกันเพื่อความสะดวกในการจัดการ
- บริษัทโฮลดิ้งส์ที่อยากจะสร้าง Organization ให้กับบริษัทลูกที่อยู่ในเครือ เพื่อความสะดวกในการติดตามผลประกอบการ
และด้วยเหตุผลเหล่านี้เอง จึงมีเคสที่ Organization ถูกสร้างมากกว่า 1 กลุ่มใน 1 บริษัทครับ
AWS Account ของบริษัทสมาชิกที่มาฝากไว้กับ Classmethod ก็คือ 1 Project ที่อยู่ใน Organization ของ Classmethod นั่นเองครับ โดยใน Organization ของ Classmethod ก็จะมีการสร้าง Portal เฉพาะที่เรียกว่า Classmethod Members Portal (CMP) ขึ้นมาเพื่อใช้จัดการค่าใช้บริการ AWS และส่งคำร้องเพื่อขอความช่วยเหลือในด้านต่าง ๆ จาก Classmethod ครับ เรียกได้ว่าบริการให้เต็มที่ทันทีที่มาอยู่กับ Classmethod ฮ่าๆๆ!
CMP มีฟังก์ชั่นการใช้งานที่หลากหลายครับ อาทิ
- แจ้งข้อมูลต้นทุน เช่น แนวโน้มต้นทุนการใช้งาน AWS และเครื่องมือที่ใช้ไปมีอะไรบ้างและคิดเป็นจำนวนเงินเท่าไร เป็นต้น
- แจ้งข้อมูลความคืบหน้าการตอบกลับในกรณีที่การใช้งาน AWS ของสมาชิกขัดข้อง
- ลิสต์ความรู้ที่เกี่ยวข้องกับการสอบถามทางเทคนิคซึ่งได้รับจากลูกค้าในอดีต
และยังมีฟังก์ชันอื่น ๆ อีกมากมายที่ช่วยให้เพื่อน ๆ สมาชิกสามารถดูข้อมูลที่จำเป็นต่อการใช้ AWS ที่สำคัญเลย คือ ค่าใช้จ่ายในการใช้งาน CMP ฟรีครับ ! ไม่เก็บสักบาทเลย ไม่เป็นไม่ได้แล้วนะครับ สมาชิกเนี่ย!
ในท้ายนี้
เป็นไงบ้างครับ และแล้วเราก็ได้รู้จักกับ Classmethod Members และคุณประโยชน์สำหรับการเข้าร่วมไปแบบจุใจ ซึ่งในช่วงท้ายนี้ หากเพื่อน ๆ เป็นผู้ต้องการเริ่มใช้งาน AWS หรือเป็นผู้ที่สนใจและอยากฟังข้อมูลเพิ่มเติมเกี่ยวกับ Classmethod Members หรือแม้แต่ผู้ที่เป็น Members อยู่แล้ว แต่ยังไม่รู้จักโครงสร้างเหล่านี้ Classmethod ยินดีเสมอครับที่ให้คอยให้คำปรึกษาและตอบคำถามตามความต้องการของเพื่อน ๆ ก่อนจะจากกันไปเพื่อน ๆ คนไหนมีต้องการสอบข้อมูลเพิ่มเติมสามารถติดต่อพวกเรา Classmethod ได้เพียงคลิกที่ลิงก์ด้านล่างนี้เลยครับ
สำหรับวันนี้ ขอพระเจ้าอวยพรทุกท่านครับ ^-^
บทความอ้างอิง
- ต้นฉบับบทความภาษาญี่ปุ่น: https://dev.classmethod.jp/articles/members_matome/
- Classmethod Members คืออะไร: https://dev.classmethod.jp/articles/what-is-classmethod-members-th/
- Root Account: https://dev.classmethod.jp/articles/aws-101-what-is-root-user-vs-iam-user/
- MFA: https://dev.classmethod.jp/articles/what-is-mfa-th/